﻿using System.Xml.Serialization;
using System.Xml.Schema;
using System.Xml;

namespace DoxytypeObjects
{
    [XmlRoot("doxygen", Namespace = "", IsNullable = false)]
    public partial class DoxygenType
    {
        [XmlElement("compounddef", Form = XmlSchemaForm.Unqualified)]
        public compounddefType[] compounddef { get; set; }

        [XmlAttribute]
        public string version { get; set; }
    }

    public partial class compounddefType
    {
        [XmlElement("compoundname", Form = XmlSchemaForm.Unqualified)]
        public string compoundname { get; set; }

        [XmlElement("title", Form = XmlSchemaForm.Unqualified)]
        public string title { get; set; }

        [XmlElement("basecompoundref", Form = XmlSchemaForm.Unqualified)]
        public compoundRefType[] basecompoundref { get; set; }

        [XmlElement("derivedcompoundref", Form = XmlSchemaForm.Unqualified)]
        public compoundRefType[] derivedcompoundref { get; set; }

        [XmlElement("includes", Form = XmlSchemaForm.Unqualified)]
        public incType[] includes { get; set; }

        [XmlElement("includedby", Form = XmlSchemaForm.Unqualified)]
        public incType[] includedby { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("node", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public nodeType[] incdepgraph { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("node", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public nodeType[] invincdepgraph { get; set; }

        [XmlElement("innerdir", Form = XmlSchemaForm.Unqualified)]
        public refType[] innerdir { get; set; }

        [XmlElement("innerfile", Form = XmlSchemaForm.Unqualified)]
        public refType[] innerfile { get; set; }

        [XmlElement("innerclass", Form = XmlSchemaForm.Unqualified)]
        public refType[] innerclass { get; set; }

        [XmlElement("innernamespace", Form = XmlSchemaForm.Unqualified)]
        public refType[] innernamespace { get; set; }

        [XmlElement("innerpage", Form = XmlSchemaForm.Unqualified)]
        public refType[] innerpage { get; set; }

        [XmlElement("innergroup", Form = XmlSchemaForm.Unqualified)]
        public refType[] innergroup { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("param", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public paramType[] templateparamlist { get; set; }

        [XmlElement("sectiondef", Form = XmlSchemaForm.Unqualified)]
        public sectiondefType[] sectiondef { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType briefdescription { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType detaileddescription { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("node", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public nodeType[] inheritancegraph { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("node", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public nodeType[] collaborationgraph { get; set; }

        //[XmlArray(Form = XmlSchemaForm.Unqualified)]
        //[XmlArrayItem("codeline", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        //public XmlNode[] programlisting { get; set; }

        [XmlElement("programlisting", Form = XmlSchemaForm.Unqualified)]
        public object _programlisting { get; set; }

        [XmlIgnore]
        public XmlNode[] programlisting { get { return _programlisting as XmlNode[]; } }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public locationType location { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("member", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public memberRefType[] listofallmembers { get; set; }

        [XmlAttribute]
        public string id { get; set; }

        [XmlAttribute]
        public DoxCompoundKind kind { get; set; }

        [XmlIgnore]
        public bool kindSpecified { get; set; }

        [XmlAttribute]
        public DoxProtectionKind prot { get; set; }

        [XmlIgnore]
        public bool protSpecified { get; set; }
    }

    public partial class compoundRefType
    {
        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxProtectionKind prot { get; set; }

        [XmlIgnore]
        public bool protSpecified { get; set; }

        [XmlAttribute]
        public DoxVirtualKind virt { get; set; }

        [XmlIgnore]
        public bool virtSpecified { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public enum DoxProtectionKind
    {
        [XmlEnum("public")]
        _public,
        [XmlEnum("protected")]
        _protected,
        [XmlEnum("private")]
        _private,
        package
    }

    public enum DoxVirtualKind
    {
        [XmlEnum("non-virtual")]
        nonvirtual,
        [XmlEnum("virtual")]
        _virtual,
        [XmlEnum("pure-virtual")]
        purevirtual
    }

    public partial class refType
    {
        [XmlAttribute("refid")]
        public string refid { get; set; }

        [XmlAttribute("prot")]
        public DoxProtectionKind prot { get; set; }

        [XmlIgnore]
        public bool protSpecified { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class linkType
    {
        [XmlAttribute("refid")]
        public string refid { get; set; }

        [XmlAttribute("external")]
        public string external { get; set; }
    }

    public partial class childnodeType
    {
        [XmlElement("edgelabel", Form = XmlSchemaForm.Unqualified)]
        public object[] edgelabel { get; set; }

        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxGraphRelation relation { get; set; }

        [XmlIgnore]
        public bool relationSpecified { get; set; }
    }

    public enum DoxGraphRelation
    {
        include,
        usage,
        [XmlEnum("template-instance")]
        templateinstance,
        [XmlEnum("public-inheritance")]
        publicinheritance,
        [XmlEnum("protected-inheritance")]
        protectedinheritance,
        [XmlEnum("private-inheritance")]
        privateinheritance
    }

    public partial class referenceType
    {
        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public string compoundref { get; set; }

        [XmlAttribute(DataType = "integer")]
        public string startline { get; set; }

        [XmlAttribute(DataType = "integer")]
        public string endline { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class locationType
    {
        [XmlAttribute]
        public string file { get; set; }

        [XmlAttribute]
        public int line { get; set; }

        [XmlAttribute]
        public string bodyfile { get; set; }

        [XmlAttribute]
        public int bodystart { get; set; }

        [XmlAttribute]
        public int bodyend { get; set; }
    }

    public partial class enumvalueType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object name { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkedTextType initializer { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType briefdescription { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType detaileddescription { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string id { get; set; }

        [XmlAttribute]
        public DoxProtectionKind prot { get; set; }

        [XmlIgnore]
        public bool protSpecified { get; set; }
    }

    public partial class linkedTextType
    {
        [XmlElement("ref", Form = XmlSchemaForm.Unqualified)]
        public refTextType[] _ref { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class refTextType
    {
        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxRefKind kindref { get; set; }

        [XmlIgnore]
        public bool kindrefSpecified { get; set; }

        [XmlAttribute]
        public string external { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public enum DoxRefKind
    {
        compound,
        member
    }

    public partial class descriptionType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string title { get; set; }

        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public XmlNode[] para { get; set; }

        [XmlElement("sect1", Form = XmlSchemaForm.Unqualified)]
        public docSect1Type[] sect1 { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public docInternalType _internal { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docParaType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copydoc", typeof(docCopyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dotfile", typeof(docDotFileType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("heading", typeof(docHeadingType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("hruler", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("image", typeof(docImageType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("indexentry", typeof(docIndexEntryType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("itemizedlist", typeof(docListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("language", typeof(docLanguageType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("linebreak", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("orderedlist", typeof(docListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("parameterlist", typeof(docParamListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("preformatted", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("programlisting", typeof(listingType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("simplesect", typeof(docSimpleSectType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("table", typeof(docTableType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("title", typeof(docTitleType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("toclist", typeof(docTocListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("variablelist", typeof(docVariableListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("verbatim", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("xrefsect", typeof(docXRefSectType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType9[] ItemsElementName { get; set; }

        [XmlText]
        public string[] Text { get; set; }
    }

    public partial class docCharType
    {
        [XmlAttribute]
        public string _char { get; set; }
    }

    public partial class docAnchorType
    {
        [XmlAttribute]
        public string id { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docEmptyType
    {
    }

    public partial class docCopyType
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect1", Form = XmlSchemaForm.Unqualified)]
        public docSect1Type[] sect1 { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public docInternalType _internal { get; set; }

        [XmlAttribute]
        public string link { get; set; }
    }

    public partial class docSect1Type
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string title { get; set; }

        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect2", Form = XmlSchemaForm.Unqualified)]
        public docSect2Type[] sect2 { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public docInternalS1Type _internal { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    public partial class docSect2Type
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string title { get; set; }

        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect3", Form = XmlSchemaForm.Unqualified)]
        public docSect3Type[] sect3 { get; set; }

        [XmlElement("internal", Form = XmlSchemaForm.Unqualified)]
        public docInternalS2Type _internal { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    public partial class docSect3Type
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string title { get; set; }

        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect4", Form = XmlSchemaForm.Unqualified)]
        public docSect4Type[] sect4 { get; set; }

        [XmlElement("internal", Form = XmlSchemaForm.Unqualified)]
        public docInternalS3Type _internal { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    public partial class docSect4Type
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string title { get; set; }

        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("internal", Form = XmlSchemaForm.Unqualified)]
        public docInternalS4Type _internal { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    public partial class docInternalS4Type
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docInternalS3Type
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect3", Form = XmlSchemaForm.Unqualified)]
        public docSect4Type[] sect3 { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docInternalS2Type
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect3", Form = XmlSchemaForm.Unqualified)]
        public docSect3Type[] sect3 { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docInternalS1Type
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect2", Form = XmlSchemaForm.Unqualified)]
        public docSect2Type[] sect2 { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docInternalType
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlElement("sect1", Form = XmlSchemaForm.Unqualified)]
        public docSect1Type[] sect1 { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docDotFileType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType6[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string name { get; set; }
    }

    public partial class docFormulaType
    {
        [XmlAttribute]
        public string id { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class docRefTextType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxRefKind kindref { get; set; }

        [XmlIgnore]
        public bool kindrefSpecified { get; set; }

        [XmlAttribute]
        public string external { get; set; }
    }

    public partial class docURLLink
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType1[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string url { get; set; }
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType1
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType6
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    public partial class docHeadingType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType4[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute(DataType = "integer")]
        public string level { get; set; }
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType4
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    public partial class docImageType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType5[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public DoxImageKind type { get; set; }

        [XmlIgnore]
        public bool typeSpecified { get; set; }

        [XmlAttribute]
        public string name { get; set; }

        [XmlAttribute]
        public string width { get; set; }

        [XmlAttribute]
        public string height { get; set; }
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType5
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    public enum DoxImageKind
    {
        html,
        latex,
        rtf
    }

    public partial class docIndexEntryType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string primaryie { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string secondaryie { get; set; }
    }

    public partial class docListType
    {
        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("para", typeof(docParaType[]), Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public docParaType[][] listitem { get; set; }
    }

    public partial class docLanguageType
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlAttribute]
        public string langid { get; set; }
    }

    public partial class docParamListType
    {
        [XmlElement("parameteritem", Form = XmlSchemaForm.Unqualified)]
        public docParamListItem[] parameteritem { get; set; }

        [XmlAttribute]
        public DoxParamListKind kind { get; set; }

        [XmlIgnore]
        public bool kindSpecified { get; set; }
    }

    public partial class docParamListItem
    {
        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("parametername", typeof(docParamName[]), Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public docParamName[][] parameternamelist { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType parameterdescription { get; set; }
    }

    public partial class docParamName
    {
        [XmlElement("ref", Form = XmlSchemaForm.Unqualified)]
        public refTextType _ref { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public DoxParamDir direction { get; set; }

        [XmlIgnore]
        public bool directionSpecified { get; set; }
    }

    public enum DoxParamDir
    {
        [XmlEnum("in")]
        _in,
        [XmlEnum("out")]
        _out,
        inout
    }

    public enum DoxParamListKind
    {
        param,
        retval,
        exception,
        templateparam
    }

    public partial class docMarkupType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copydoc", typeof(docCopyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dotfile", typeof(docDotFileType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("heading", typeof(docHeadingType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("hruler", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("image", typeof(docImageType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("indexentry", typeof(docIndexEntryType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("itemizedlist", typeof(docListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("language", typeof(docLanguageType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("linebreak", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("orderedlist", typeof(docListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("parameterlist", typeof(docParamListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("preformatted", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("programlisting", typeof(listingType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("simplesect", typeof(docSimpleSectType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("table", typeof(docTableType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("title", typeof(docTitleType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("toclist", typeof(docTocListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("variablelist", typeof(docVariableListType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("verbatim", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("xrefsect", typeof(docXRefSectType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType8[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class listingType
    {
        [XmlElement("codeline", Form = XmlSchemaForm.Unqualified)]
        public codelineType[] codeline { get; set; }
    }

    public partial class codelineType
    {
        [XmlElement("highlight", Form = XmlSchemaForm.Unqualified)]
        public highlightType[] highlight { get; set; }

        [XmlAttribute(DataType = "integer")]
        public string lineno { get; set; }

        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxRefKind refkind { get; set; }

        [XmlIgnore]
        public bool refkindSpecified { get; set; }

        [XmlAttribute]
        public DoxBool external { get; set; }

        [XmlIgnore]
        public bool externalSpecified { get; set; }
    }

    public partial class highlightType
    {
        [XmlElement("ref", typeof(refTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("sp", typeof(object), Form = XmlSchemaForm.Unqualified)]
        public object[] Items { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute("class")]
        public DoxHighlightClass _class { get; set; }

        [XmlIgnore]
        public bool classSpecified { get; set; }
    }

    public enum DoxHighlightClass
    {
        comment,
        normal,
        preprocessor,
        keyword,
        keywordtype,
        keywordflow,
        stringliteral,
        charliteral
    }

    public enum DoxBool
    {
        yes,
        no
    }

    public partial class docSimpleSectType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public docTitleType title { get; set; }

        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public XmlNode[] para { get; set; }

        [XmlAttribute]
        public DoxSimpleSectKind kind { get; set; }

        [XmlIgnore]
        public bool kindSpecified { get; set; }
    }

    public partial class docTitleType
    {
        /*[XmlElement("bold", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("emphasis", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("computeroutput", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("subscript", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("superscript", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("center", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("small", typeof(docMarkupType), Form = XmlSchemaForm.Unqualified)]*/
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType2[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    [XmlType(IncludeInSchema = false)]
    public enum ItemsChoiceType2
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    public enum DoxSimpleSectKind
    {
        see,
        [XmlEnum("return")]
        _return,
        author,
        authors,
        version,
        since,
        date,
        note,
        warning,
        pre,
        post,
        invariant,
        remark,
        attention,
        par,
        rcs
    }

    public partial class docTableType
    {
        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("entry", typeof(docEntryType[]), Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public docEntryType[][] row { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public docCaptionType caption { get; set; }

        [XmlAttribute(DataType = "integer")]
        public string rows { get; set; }

        [XmlAttribute(DataType = "integer")]
        public string cols { get; set; }
    }

    public partial class docEntryType
    {
        [XmlElement("para", Form = XmlSchemaForm.Unqualified)]
        public docParaType[] para { get; set; }

        [XmlAttribute]
        public DoxBool thead { get; set; }

        [XmlIgnore]
        public bool theadSpecified { get; set; }
    }

    public partial class docCaptionType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType3[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType3
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    public partial class docTocListType
    {
        [XmlElement("tocitem", Form = XmlSchemaForm.Unqualified)]
        public docTocItemType[] tocitem { get; set; }
    }

    public partial class docTocItemType
    {
        [XmlElement("acute", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("anchor", typeof(docAnchorType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("cedil", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("circ", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("copy", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("dot", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("formula", typeof(docFormulaType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("grave", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("htmlonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("latexonly", typeof(string), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ldquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("lsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("mdash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ndash", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("nonbreakablespace", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rdquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ref", typeof(docRefTextType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("registered", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ring", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("rsquo", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("slash", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("szlig", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("tilde", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("trademark", typeof(docEmptyType), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("ulink", typeof(docURLLink), Form = XmlSchemaForm.Unqualified)]
        [XmlElement("umlaut", typeof(docCharType), Form = XmlSchemaForm.Unqualified)]
        [XmlChoiceIdentifierAttribute("ItemsElementName")]
        public object[] Items { get; set; }

        [XmlElement("ItemsElementName")]
        [XmlIgnore]
        public ItemsChoiceType7[] ItemsElementName { get; set; }

        [XmlText]
        public string Text { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType7
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        dot,
        formula,
        grave,
        htmlonly,
        latexonly,
        ldquo,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        slash,
        szlig,
        tilde,
        trademark,
        ulink,
        umlaut
    }

    public partial class docVariableListType
    {
        [XmlElement("varlistentry", Form = XmlSchemaForm.Unqualified)]
        public docVarListEntryType[] varlistentry { get; set; }

        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("para", typeof(docParaType[]), Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public docParaType[][] listitem { get; set; }
    }

    public partial class docVarListEntryType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public docTitleType term { get; set; }
    }

    public partial class docXRefSectType
    {
        [XmlElement("xreftitle", Form = XmlSchemaForm.Unqualified)]
        public string[] xreftitle { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType xrefdescription { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType8
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        copydoc,
        dot,
        dotfile,
        formula,
        grave,
        heading,
        hruler,
        htmlonly,
        image,
        indexentry,
        itemizedlist,
        language,
        latexonly,
        ldquo,
        linebreak,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        orderedlist,
        parameterlist,
        preformatted,
        programlisting,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        simplesect,
        slash,
        szlig,
        table,
        tilde,
        title,
        toclist,
        trademark,
        ulink,
        umlaut,
        variablelist,
        verbatim,
        xrefsect
    }

    [XmlTypeAttribute(IncludeInSchema = false)]
    public enum ItemsChoiceType9
    {
        acute,
        anchor,
        cedil,
        circ,
        copy,
        copydoc,
        dot,
        dotfile,
        formula,
        grave,
        heading,
        hruler,
        htmlonly,
        image,
        indexentry,
        itemizedlist,
        language,
        latexonly,
        ldquo,
        linebreak,
        lsquo,
        mdash,
        ndash,
        nonbreakablespace,
        orderedlist,
        parameterlist,
        preformatted,
        programlisting,
        rdquo,
        [XmlEnum("ref")]
        _ref,
        registered,
        ring,
        rsquo,
        simplesect,
        slash,
        szlig,
        table,
        tilde,
        title,
        toclist,
        trademark,
        ulink,
        umlaut,
        variablelist,
        verbatim,
        xrefsect
    }

    public partial class reimplementType
    {
        [XmlAttribute]
        public string refid { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public partial class paramType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkedTextType type { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object declname { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object defname { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object array { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkedTextType defval { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType briefdescription { get; set; }
    }

    public partial class memberdefType
    {
        [XmlArray(Form = XmlSchemaForm.Unqualified)]
        [XmlArrayItem("param", Form = XmlSchemaForm.Unqualified, IsNullable = false)]
        public paramType[] templateparamlist { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkedTextType type { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string definition { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string argsstring { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string name { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object read { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object write { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object bitfield { get; set; }

        [XmlElement("reimplements", Form = XmlSchemaForm.Unqualified)]
        public reimplementType[] reimplements { get; set; }

        [XmlElement("reimplementedby", Form = XmlSchemaForm.Unqualified)]
        public reimplementType[] reimplementedby { get; set; }

        [XmlElement("param", Form = XmlSchemaForm.Unqualified)]
        public paramType[] param { get; set; }

        [XmlElement("enumvalue", Form = XmlSchemaForm.Unqualified)]
        public enumvalueType[] enumvalue { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkedTextType initializer { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkedTextType exceptions { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType briefdescription { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType detaileddescription { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType inbodydescription { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public locationType location { get; set; }

        [XmlElement("references", Form = XmlSchemaForm.Unqualified)]
        public referenceType[] references { get; set; }

        [XmlElement("referencedby", Form = XmlSchemaForm.Unqualified)]
        public referenceType[] referencedby { get; set; }

        [XmlAttribute]
        public DoxMemberKind kind { get; set; }

        [XmlIgnore]
        public bool kindSpecified { get; set; }

        [XmlAttribute]
        public string id { get; set; }

        [XmlAttribute]
        public DoxProtectionKind prot { get; set; }

        [XmlIgnore]
        public bool protSpecified { get; set; }

        [XmlAttribute("static")]
        public DoxBool _static { get; set; }

        [XmlIgnore]
        public bool staticSpecified { get; set; }

        [XmlAttribute("const")]
        public DoxBool _const { get; set; }

        [XmlIgnore]
        public bool constSpecified { get; set; }

        [XmlAttribute("explicit")]
        public DoxBool _explicit { get; set; }

        [XmlIgnore]
        public bool explicitSpecified { get; set; }

        [XmlAttribute]
        public DoxBool inline { get; set; }

        [XmlIgnore]
        public bool inlineSpecified { get; set; }

        [XmlAttribute]
        public DoxVirtualKind virt { get; set; }

        [XmlIgnore]
        public bool virtSpecified { get; set; }

        [XmlAttribute("volatile")]
        public DoxBool _volatile { get; set; }

        [XmlIgnore]
        public bool volatileSpecified { get; set; }

        [XmlAttribute]
        public DoxBool mutable { get; set; }

        [XmlIgnore]
        public bool mutableSpecified { get; set; }

        [XmlAttribute]
        public DoxBool readable { get; set; }

        [XmlIgnore]
        public bool readableSpecified { get; set; }

        [XmlAttribute]
        public DoxBool writable { get; set; }

        [XmlIgnore]
        public bool writableSpecified { get; set; }

        [XmlAttribute]
        public DoxBool initonly { get; set; }

        [XmlIgnore]
        public bool initonlySpecified { get; set; }

        [XmlAttribute]
        public DoxBool settable { get; set; }

        [XmlIgnore]
        public bool settableSpecified { get; set; }

        [XmlAttribute]
        public DoxBool gettable { get; set; }

        [XmlIgnore]
        public bool gettableSpecified { get; set; }

        [XmlAttribute]
        public DoxBool final { get; set; }

        [XmlIgnore]
        public bool finalSpecified { get; set; }

        [XmlAttribute("sealed")]
        public DoxBool _sealed { get; set; }

        [XmlIgnore]
        public bool sealedSpecified { get; set; }

        [XmlAttribute("new")]
        public DoxBool _new { get; set; }

        [XmlIgnore]
        public bool newSpecified { get; set; }

        [XmlAttribute]
        public DoxBool add { get; set; }

        [XmlIgnore]
        public bool addSpecified { get; set; }

        [XmlAttribute]
        public DoxBool remove { get; set; }

        [XmlIgnore]
        public bool removeSpecified { get; set; }

        [XmlAttribute]
        public DoxBool raise { get; set; }

        [XmlIgnore]
        public bool raiseSpecified { get; set; }

        [XmlAttribute]
        public DoxBool optional { get; set; }

        [XmlIgnore]
        public bool optionalSpecified { get; set; }

        [XmlAttribute]
        public DoxBool required { get; set; }

        [XmlIgnore]
        public bool requiredSpecified { get; set; }

        [XmlAttribute]
        public DoxAccessor accessor { get; set; }

        [XmlIgnore]
        public bool accessorSpecified { get; set; }
    }

    public enum DoxMemberKind
    {
        define,
        property,
        [XmlEnum("event")]
        _event,
        variable,
        typedef,
        [XmlEnum("enum")]
        _enum,
        function,
        signal,
        prototype,
        friend,
        dcop,
        slot
    }

    public enum DoxAccessor
    {
        retain,
        copy,
        assign
    }

    public partial class sectiondefType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string header { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public descriptionType description { get; set; }

        [XmlElement("memberdef", Form = XmlSchemaForm.Unqualified)]
        public memberdefType[] memberdef { get; set; }

        [XmlAttribute]
        public DoxSectionKind kind { get; set; }

        [XmlIgnore]
        public bool kindSpecified { get; set; }
    }

    public enum DoxSectionKind
    {
        [XmlEnum("user-defined")]
        userdefined,
        [XmlEnum("public-type")]
        publictype,
        [XmlEnum("public-func")]
        publicfunc,
        [XmlEnum("public-attrib")]
        publicattrib,
        [XmlEnum("public-slot")]
        publicslot,
        signal,
        [XmlEnum("dcop-func")]
        dcopfunc,
        property,
        [XmlEnum("event")]
        _event,
        [XmlEnum("public-static-func")]
        publicstaticfunc,
        [XmlEnum("public-static-attrib")]
        publicstaticattrib,
        [XmlEnum("protected-type")]
        protectedtype,
        [XmlEnum("protected-func")]
        protectedfunc,
        [XmlEnum("protected-attrib")]
        protectedattrib,
        [XmlEnum("protected-slot")]
        protectedslot,
        [XmlEnum("protected-static-func")]
        protectedstaticfunc,
        [XmlEnum("protected-static-attrib")]
        protectedstaticattrib,
        [XmlEnum("package-type")]
        packagetype,
        [XmlEnum("package-func")]
        packagefunc,
        [XmlEnum("package-attrib")]
        packageattrib,
        [XmlEnum("package-static-func")]
        packagestaticfunc,
        [XmlEnum("package-static-attrib")]
        packagestaticattrib,
        [XmlEnum("private-type")]
        privatetype,
        [XmlEnum("private-func")]
        privatefunc,
        [XmlEnum("private-attrib")]
        privateattrib,
        [XmlEnum("private-slot")]
        privateslot,
        [XmlEnum("private-static-func")]
        privatestaticfunc,
        [XmlEnum("private-static-attrib")]
        privatestaticattrib,
        friend,
        related,
        define,
        prototype,
        typedef,
        [XmlEnum("enum")]
        _enum,
        func,
        var
    }

    public partial class memberRefType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object scope { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public string name { get; set; }

        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxProtectionKind prot { get; set; }

        [XmlIgnore]
        public bool protSpecified { get; set; }

        [XmlAttribute]
        public DoxVirtualKind virt { get; set; }

        [XmlIgnore]
        public bool virtSpecified { get; set; }

        [XmlAttribute]
        public string ambiguityscope { get; set; }
    }

    public partial class nodeType
    {
        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public object label { get; set; }

        [XmlElement(Form = XmlSchemaForm.Unqualified)]
        public linkType link { get; set; }

        [XmlElement("childnode", Form = XmlSchemaForm.Unqualified)]
        public childnodeType[] childnode { get; set; }

        [XmlAttribute]
        public string id { get; set; }
    }

    public partial class incType
    {
        [XmlAttribute]
        public string refid { get; set; }

        [XmlAttribute]
        public DoxBool local { get; set; }

        [XmlIgnore]
        public bool localSpecified { get; set; }

        [XmlText]
        public string Text { get; set; }
    }

    public enum DoxCompoundKind
    {
        [XmlEnum("class")]
        _class,
        [XmlEnum("struct")]
        _struct,
        union,
        [XmlEnum("interface")]
        _interface,
        protocol,
        category,
        exception,
        file,
        [XmlEnum("namespace")]
        _namespace,
        group,
        page,
        example,
        dir
    }
}